package org.twndmv.dao;

import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;

import org.twndmv.bo.Person;
import org.twndmv.bo.VehicleRegistration;

public interface VehicleRegistrationDAO {
	
	public VehicleRegistration getRegistrationByID(long id);
	
	public VehicleRegistration getRegistrationByTag(String tagNo);
	
	public List<VehicleRegistration> getRegistrationsByMakeModel(String make, String model);
	
	public List<VehicleRegistration> getRegistrationsExpiringWithin(Date expireDate);
	
	public void createRegistration(VehicleRegistration newCar);
	
	public boolean deleteRegistration(VehicleRegistration deadCar);
	
	public int purgeVehicles();

	public void setEntityManager(EntityManager em);

	public List<VehicleRegistration> getRegistrationsByOwner(Person person);
	
	public List<VehicleRegistration> getAllVehicles();
	
}
